This function uses conversion-description to convert the chords in the chord-list into a list of corresponding scales. In the example 3 conversion options are defined, matching those originally defined in a book "Improvising Jazz" by Jerry Coker. Feel free to define custom chord/ scale coincidences.
(setq jazzing1
'((maj 7) major
(maj 6) major
(min 6) melodic-minor
(maj 6) melodic-minor
(min maj7) dorian
(dim maj7) locrian
(maj maj7) mixolyde
(min maj7) mixolyde
(aug maj7) whole-tone
(&5 maj7) diminished1))
The conversion description above means that all maj chord positions 7 and 6 convert into a major scale starting at the same base note than the chord, and both min and major 6 chords convert to a melodic-minor scale, etc. In case no chord/scale correspondence is defined then the chord is used.
Here are the other conversion descriptions.
(setq jazzing2
'((maj 7) major
(maj 6) major
(min 6) diminished1
(min 7) harmonic-minor
(min maj7) diminished1
(dim maj7) diminished1
(maj maj7) whole-tone
(min maj7) whole-tone
(aug maj7) whole-tone
(&5 maj7) whole-tone))
(setq jazzing3
'((maj 7) major
(maj 6) major
(min 6) diminished1
(min 7) diminished1
(min maj7) diminished1
(dim maj7) diminished1
(maj maj7) diminished1
(min maj7) diminished1
(aug maj7) whole-tone
(&5 maj7) whole-tone))
To put chords-to-scales in practise you have to define a chord-sequence.
(setq chord-sequence
'((c maj 7 1) (c min 1 1) (c min 6 1 5) (c dim maj7 1)
(c aug maj7 1) (c &5 maj7 1)))
The jazz improvisation can now take place with the aid of chords-to-scales and a conversion description.
(setq jazzing-scales
(chords-to-scales jazzing3 chord-sequence))
To build up full tonality zones use activate-tonality on both the initial chord-sequence and the jazzing-scales.
(setq chords (activate-tonality chord-sequence))
(setq scales (activate-tonality jazzing-scales))
These tonality zones are now ready to be fed into def-tonality or used within the timesheet.